﻿using System;
using Mono.Collections.Generic;

namespace Mono.Cecil
{
	// Token: 0x02000081 RID: 129
	public interface IMethodSignature : IMetadataTokenProvider
	{
		// Token: 0x17000105 RID: 261
		// (get) Token: 0x060004EA RID: 1258
		// (set) Token: 0x060004EB RID: 1259
		bool HasThis { get; set; }

		// Token: 0x17000106 RID: 262
		// (get) Token: 0x060004EC RID: 1260
		// (set) Token: 0x060004ED RID: 1261
		bool ExplicitThis { get; set; }

		// Token: 0x17000107 RID: 263
		// (get) Token: 0x060004EE RID: 1262
		// (set) Token: 0x060004EF RID: 1263
		MethodCallingConvention CallingConvention { get; set; }

		// Token: 0x17000108 RID: 264
		// (get) Token: 0x060004F0 RID: 1264
		bool HasParameters { get; }

		// Token: 0x17000109 RID: 265
		// (get) Token: 0x060004F1 RID: 1265
		Collection<ParameterDefinition> Parameters { get; }

		// Token: 0x1700010A RID: 266
		// (get) Token: 0x060004F2 RID: 1266
		// (set) Token: 0x060004F3 RID: 1267
		TypeReference ReturnType { get; set; }

		// Token: 0x1700010B RID: 267
		// (get) Token: 0x060004F4 RID: 1268
		MethodReturnType MethodReturnType { get; }
	}
}
